package com.wangbo.test.util;

import com.wangbo.test.util.model.BaseEnum;
import com.wangbo.test.util.model.ResultObj;
import lombok.experimental.UtilityClass;

@UtilityClass
public class ResultObjUtil {
    public ResultObj success() {
        ResultObj resultObj = new ResultObj();
        resultObj.setCode(200);
        resultObj.setMsg("操作成功");
        return resultObj;
    }

    public ResultObj success(String message) {
        ResultObj resultObj = new ResultObj();
        resultObj.setCode(200);
        resultObj.setMsg(message);
        return resultObj;
    }

    public <T> ResultObj<T> success(String message, T data) {
        ResultObj<T> resultObj = new ResultObj<T>();
        resultObj.setCode(200);
        resultObj.setMsg(message);
        resultObj.setData(data);

        return resultObj;
    }

    public <T> ResultObj<T> error(BaseEnum exceptionEnum, T data) {
        ResultObj<T> resultObj = new ResultObj<T>();
        resultObj.setCode(exceptionEnum.getCode());
        resultObj.setMsg(exceptionEnum.getDesc());
        resultObj.setData(data);
        return resultObj;
    }

    public ResultObj error(BaseEnum exceptionEnum) {
        ResultObj resultObj = new ResultObj();
        resultObj.setCode(exceptionEnum.getCode());
        resultObj.setMsg(exceptionEnum.getDesc());
        return resultObj;
    }

    public ResultObj error(Integer code, String msg) {
        ResultObj resultObj = new ResultObj();
        resultObj.setCode(code);
        resultObj.setMsg(msg);
        return resultObj;
    }

}
